package com.vhall.component.entity.gift.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class GiftSendRspVo implements Serializable {

    private static final long serialVersionUID = -1976225567115341256L;

    /**
     * 主键
     */
    private Long id;

    /**
     * PaaS应用ID
     */
    @JsonProperty(value = "app_id")
    private String appId;

    /**
     * 创建者ID
     */
    @JsonProperty(value = "creator_id")
    private String creatorId;


    /**
     * 表情接受者ID
     */
    @JsonProperty(value = "receiver_id")
    private String receiverId;

    /**
     * 交易流水号
     */
    @JsonProperty(value = "trade_no")
    private String tradeNo;

    /**
     * 来源ID
     */
    @JsonProperty(value = "room_id")
    private String roomId;

    /**
     * 表情名称
     */
    private String name;

    /**
     * 表情价格
     */
    private BigDecimal price;

    /**
     * 表情图片地址
     */
    @JsonProperty(value = "image_url")
    private String imageUrl;

    /**
     * 赠送表情数量
     */
    private Integer numbers;

    /**
     * 表情ID
     */
    @JsonProperty(value = "gift_id")
    private Long giftId;

    /**
     * 赠送表情者ID
     */
    @JsonProperty(value = "gift_user_id")
    private String giftUserId;

    /**
     * 赠送表情者昵称
     */
    @JsonProperty(value = "gift_user_nickname")
    private String giftUserNickname;

    /**
     * 赠送表情者头像
     */
    @JsonProperty(value = "gift_user_avatar")
    private String giftUserAvatar;

    /**
     * 赠送表情者姓名
     */
    @JsonProperty(value = "gift_user_name")
    private String giftUserName;

    /**
     * 赠送表情者手机号
     */
    @JsonProperty(value = "gift_user_phone")
    private String giftUserPhone;

    /**
     * 赠送表情支付状态：0 等待支付 1 支付成功 2 支付失败
     */
    @JsonProperty(value = "pay_status")
    private Integer payStatus;

    /**
     * 是否已删除 0 表示未删除 1 表示已删除
     */
    @JsonProperty(value = "deleted")
    private Integer deleted;

    /**
     * 创建时间
     */
    @JsonProperty(value = "created_at")
    private LocalDateTime createdAt;

    /**
     * 删除时间
     */
    @JsonProperty(value = "deleted_at")
    private LocalDateTime deletedAt;

    /**
     * 更新时间
     */
    @JsonProperty(value = "updated_at")
    private LocalDateTime updatedAt;

    private BigDecimal amount;

    @JsonProperty(value = "creator_nickname")
    private String creatorNickname;

    @JsonProperty(value = "creator_avatar")
    private String creatorAvatar;

    @JsonProperty(value = "source_type")
    private String sourceType;

    @JsonProperty(value = "source_status")
    private String sourceStatus;

    @JsonProperty(value = "payData")
    private Object payData;
}
